/*************************************************************************
> File Name: MyUnorderedSet.h
> Author: icebear
> Mail: 3322366195@qq.com
> Created Time: 2024-09-06 08:50:10
> Description: unordered_set
************************************************************************/

#ifndef _MYUNORDEREDSET_H_
#define _MYUNORDEREDSET_H_

#include "MyHashTable.h"

namespace ib
{
    template <typename KeyType, typename Hash, typename Pred, typename Alloc>
    class MyUnorderedSet
    {
        template <typename _Value,
                  typename _Hash = hash<_Value>,
                  typename _Pred = std::equal_to<_Value>,
                  typename _Alloc = std::allocator<_Value>,
                  typename _Tr = __uset_traits<__cache_default<_Value, _Hash>::value>>
        using uset_hashtable = _Hashtable<_Value, _Value, _Alloc,
                                          __detail::_Identity, _Pred, _Hash,
                                          __detail::_Mod_range_hashing,
                                          __detail::_Default_ranged_hash,
                                          __detail::_Prime_rehash_policy, _Tr>;

    private:
        uset_hashtable<KeyType, KeyType, Hash, Pred, Alloc> table_0x0;

    public:
    };

} // namespace ib

#endif
